package com.rabbitmq.receivers;

import com.rabbitmq.config.TopicConfig;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

/**
 * 主题模式：一个生产者，一个 topic 类型的交换机，多个队列，交换机与队列之间通过 routing-key 进行关联绑定，
 * 多个消费者。生产者发送消息到交换机并且要指定 routing-key，
 * 然后消息根据这交换机与队列之间的 routing-key 绑定规则进行路由被指定消费者消费。
 * 与路由模式不同是 routing-key 有指定的队则，可以更加的通用，满足更过的场景。routing-key 的规则如下
 *
 * @author 王霄
 * @date 2022/1/8 16:46
 */
@Component
public class TopicReceiver {

    @RabbitListener(queues = TopicConfig.QUEUE1)
    public void consume1(String message) {
        System.out.println("Topic模式接收队列1消息 : " + message);
    }

    @RabbitListener(queues = TopicConfig.QUEUE2)
    public void consume2(String message) {
        System.out.println("Topic模式接收队列2消息 : " + message);
    }
}
